package com.woody.aggregate.sdk.contract;

import com.woody.aggregate.contract.dto.BatchSaveContractDTO;
import com.woody.aggregate.contract.dto.ContractHaveNewVersionDTO;
import com.woody.aggregate.contract.dto.QueryContractDTO;
import com.woody.aggregate.contract.dto.ManageListDTO;
import com.woody.aggregate.contract.vo.ContractVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import com.woody.base.model.Response;
import java.util.List;
import java.util.Map;

/**
 * @author hzy
 * @date 2025/2/24 上午11:16
 */
@FeignClient(name="wd-aggregate", contextId = "aggregate-ContractFeign")
public interface ContractFeign {

    @GetMapping("/contract/contractList")
    Response<Map<String,List<ContractVO>>> shopContractList(@RequestParam(value = "customerId") Long customerId,@RequestParam(value = "customerType") Integer customerType);


    @PostMapping("/contract/haveNewVersion")
    Response<Boolean> haveNewVersion(@RequestBody ContractHaveNewVersionDTO dto);


    @PostMapping("/contract/manageList")
    Response<List<ContractVO>> manageList(@RequestBody ManageListDTO dto);


    @PostMapping("/contract/batchSaveContract")
    Response batchSaveContract(@RequestBody BatchSaveContractDTO dto);


    @PostMapping("/contract/queryContract")
    Response<ContractVO> queryContract(@RequestBody QueryContractDTO dto);
}
